SEAL (cryptographie)
Seal (Software Encryption Algorithm) est un algorithme de chiffrement par flot optimisé pour les processeurs 32 bits et conçu par Phillip Rogaway et Don Coppersmith. Le projet a débuté en 1992, la dernière version a été publiée en 1997.
Principe
[modifier | modifier le code]Il se comporte comme un générateur pseudo-aléatoire initialisé par une clé racine de 160 bits. Cette clé est étendue à l'aide de tables internes pour produire un flot de clés de 32bits. Les tables internes aux nombres de 3 sont calculées avec SHA-0 pour la version 1.0 de Seal, et SHA-1 pour la version 3.0.
Les tables sont ensuite combinées au cours de deux étapes pour produire 32 bits en sortie. Les opérations élémentaires durant ces deux étapes sont des XOR et des additions modulo 232, ce qui induit certaines faiblesses.
Enfin, chaque clé de 32 bits ainsi obtenue est ensuite combinée par un XOR à 32 bits du message, à la manière d'un masque jetable.
La sécurité de Seal repose donc sur la sécurité des algorithmes de la famille SHA-0[1].
Attaques
[modifier | modifier le code]Une attaque par Cryptanalyse_χ² a été publié en 1997. Cette attaque permet de distinguer un flot Seal d'un flot pseudo-aléatoire et permet de retrouver une grande partie des tables internes sur une version simplifiée de l'algorithme[2].